Docker ব্যবহার করে ASP.NET Core অ্যাপ কনটেইনারাইজ করা

Microsoft Technologies - এএসপি ডট নেট কোর (ASP.Net Core) ডিপ্লয়মেন্ট এবং হোস্টিং (Deployment and Hosting) |
201
201

Docker একটি ওপেন সোর্স প্ল্যাটফর্ম, যা অ্যাপ্লিকেশনকে কনটেইনারের মধ্যে চালানোর জন্য ব্যবহৃত হয়। Docker কনটেইনারাইজেশনের মাধ্যমে ASP.NET Core অ্যাপ্লিকেশনগুলোকে সহজে ডিপ্লয় এবং স্কেল করা যায়।


Docker এবং কনটেইনারের সুবিধা

  • কনসিস্টেন্ট এনভায়রনমেন্ট: ডেভেলপমেন্ট, টেস্টিং এবং প্রোডাকশনের জন্য একই পরিবেশ সরবরাহ করে।
  • পোর্টেবল: Docker ইমেজ যেকোনো Docker সমর্থিত প্ল্যাটফর্মে রান করানো যায়।
  • স্কেলেবিলিটি: Kubernetes এবং Docker Swarm-এর মাধ্যমে কনটেইনার সহজেই স্কেল করা যায়।
  • নিম্ন রিসোর্স ব্যবহার: ভার্চুয়াল মেশিনের তুলনায় কনটেইনার হালকা এবং দ্রুত।

Docker ইন্সটল করা

Docker ব্যবহার করার জন্য আপনার সিস্টেমে Docker ইন্সটল করতে হবে। Docker ইন্সটল করতে Docker Official Website থেকে আপনার অপারেটিং সিস্টেমের জন্য উপযুক্ত Docker Desktop ডাউনলোড এবং ইন্সটল করুন।


ASP.NET Core অ্যাপের জন্য Docker সেটআপ

ASP.NET Core অ্যাপ তৈরি

একটি নতুন ASP.NET Core অ্যাপ তৈরি করুন বা একটি বিদ্যমান অ্যাপ ব্যবহার করুন। নতুন অ্যাপ তৈরি করতে:

dotnet new webapi -n DockerizedApp
cd DockerizedApp

Dockerfile তৈরি করা

Dockerfile হলো একটি টেক্সট ফাইল, যেখানে কনটেইনার তৈরি এবং কনফিগারেশনের জন্য প্রয়োজনীয় নির্দেশাবলী থাকে। ASP.NET Core অ্যাপের জন্য একটি সাধারণ Dockerfile:

# Base image
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

# Build image
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["DockerizedApp.csproj", "./"]
RUN dotnet restore "./DockerizedApp.csproj"
COPY . .
WORKDIR "/src/"
RUN dotnet build "DockerizedApp.csproj" -c Release -o /app/build

# Publish image
FROM build AS publish
RUN dotnet publish "DockerizedApp.csproj" -c Release -o /app/publish

# Final stage
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "DockerizedApp.dll"]

Docker ইমেজ তৈরি করা

Dockerfile এর ভিত্তিতে ইমেজ তৈরি করতে নিচের কমান্ডটি ব্যবহার করুন:

docker build -t dockerizedapp .

এখানে:

  • -t dockerizedapp: ইমেজের নাম নির্ধারণ করে।
  • .: বর্তমান ডিরেক্টরিতে থাকা Dockerfile থেকে ইমেজ তৈরি করে।

Docker কন্টেইনার রান করা

Docker ইমেজ থেকে একটি কনটেইনার চালাতে:

docker run -d -p 8080:80 --name myapp dockerizedapp

এখানে:

  • -d: কনটেইনারকে ব্যাকগ্রাউন্ডে চালায়।
  • -p 8080:80: হোস্ট মেশিনের 8080 পোর্টকে কনটেইনারের 80 পোর্টের সঙ্গে ম্যাপ করে।
  • --name myapp: কনটেইনারের নাম নির্ধারণ করে।

এখন ব্রাউজারে http://localhost:8080 এ গিয়ে অ্যাপটি অ্যাক্সেস করুন।


Docker Compose ব্যবহার করা

যদি একাধিক কনটেইনার চালাতে হয়, তাহলে Docker Compose ব্যবহার করা সুবিধাজনক। docker-compose.yml ফাইল তৈরি করুন:

version: '3.4'

services:
  web:
    image: dockerizedapp
    build:
      context: .
    ports:
      - "8080:80"

Docker Compose দিয়ে অ্যাপ রান করতে:

docker-compose up -d

Docker কনটেইনার ব্যবস্থাপনা

  • চলমান কনটেইনার দেখতে:

    docker ps
    
  • কনটেইনার থামাতে:

    docker stop myapp
    
  • কনটেইনার মুছে ফেলতে:

    docker rm myapp
    
  • ইমেজ মুছে ফেলতে:

    docker rmi dockerizedapp
    

Docker এবং ASP.NET Core এর সংমিশ্রণের সুবিধা

  1. ডিপ্লয়মেন্ট সহজ এবং দ্রুত।
  2. স্কেলেবল আর্কিটেকচারে অ্যাপ চালানো যায়।
  3. CI/CD (Continuous Integration/Continuous Deployment) পাইপলাইনে সহজেই ইন্টিগ্রেট করা যায়।

Docker ব্যবহার করে ASP.NET Core অ্যাপ কনটেইনারাইজ করা আপনার অ্যাপ্লিকেশন ডেভেলপমেন্ট এবং ডিপ্লয়মেন্টকে আরও কার্যকর ও পোর্টেবল করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion